package com.zyt.springboot.makeDir;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

/**
 * 根据pom文件路径生成文件夹，并生成对应pom文件
*/
@SuppressWarnings("all")
public class makeDirDemo {
    public static void main(String[] args) {
        //定义pom包名称
        String pomStr = "commons-io-2.11.0";
        //定义要创建的文件路径-本地仓库地址
        String localPath = "C:\\Users\\31926\\Desktop\\新建文件夹";
        //找到最后一个-所在的位置，并进行分割
        int lastDashIndex = pomStr.lastIndexOf('-');
        if (lastDashIndex != -1) {
            //新文件夹名称
            String newDir = pomStr.substring(0, lastDashIndex);
            //版本号
            String versionDir = pomStr.substring(lastDashIndex + 1);
            System.out.println("新文件夹名称: " + newDir);
            System.out.println("版本号: " + versionDir);
            // 创建File对象，指向文件夹a
            File newFile = new File(localPath, newDir);
            // 检查文件夹a是否存在
            if (newFile.exists()) {
                // 文件夹a存在，检查文件夹b是否存在
                File dirB = new File(newFile, versionDir);
                if (!dirB.exists()) {
                    // 文件夹b不存在，创建文件夹b
                    dirB.mkdir();
                    System.out.println("文件夹b已创建在文件夹a中。");
                }
            } else {
                // 文件夹a不存在，创建文件夹a
                boolean isDirACreated = newFile.mkdir();
                if (isDirACreated) {
                    // 文件夹a创建成功，创建文件夹b
                    File dirB = new File(newFile, versionDir);
                    dirB.mkdir();
                    System.out.println("文件夹a和文件夹b已创建。");
                } else {
                    System.out.println("文件夹a创建失败。");
                }
            }
            // 文件名和内容
            String fileName = "commons-io-2.11.0.pom";
            String line1 = "<project>";
            //将line2中newDir内容修改为本地仓库地址之后的后续地址
            String line2 = "  <groupId>newDir</groupId>";
            String line3 = "  <artifactId>"+newDir+"</artifactId>";
            String line4 = "  <version>"+versionDir+"</version>";
            String line5 = "</project>";
            // 在文件夹b中创建文件aaa.pom
            File file = new File(new File(newFile, versionDir), fileName);
            try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
                writer.write(line1);
                writer.newLine();
                writer.write(line2);
                writer.newLine();
                writer.write(line3);
                writer.newLine();
                writer.write(line4);
                writer.newLine();
                writer.write(line5);
                System.out.println("文件已创建并写入内容。");
            } catch (IOException e) {
                System.out.println("写入文件时发生错误：" + e.getMessage());
            }
        } else {
            System.out.println("字符串中没有'-'");
        }

    }
}
